<template>
    <div class="icons">        
            <swiper :options="swiperOption" >
                <swiper-slide v-for="page of pages" :key="page.index">
                    <router-link tag="div" :to="'/Scenic/'+item.id" class="icon" v-for="item of page" :key="item.id"  @click.native="sendMeng(item.text)">                  
                        <div class="icon-img">
                            <img class="icon-img-conten" :src="item.IconsUrl" >
                        </div>
                        <p class="icon-desc">{{item.text}}</p>                   
                    </router-link>   
                </swiper-slide>           
            </swiper>        
    </div>
  
</template>

<script>

export default {
  name: "HomeIcons",
   props:{
        list:Array
    },
  data() {
    return {
       swiperOption:{              
             
            },
     
    };
  },
  methods: {
      sendMeng:function(Scenic){
       this.$store.dispatch('changeScenic',Scenic)
        //  console.log(Scenic)
      }
  },
 
  computed: {
    pages(){
      const pages=[]
      this.list.forEach((item,index)=>{
        const page=Math.floor(index/8)
        // 不存在
        if(!pages[page]){
          pages[page]=[]
        }
        pages[page].push(item)
      })
      return pages;
    }
  
  }
};
</script>

<style lang="stylus" scoped>
@import '~styles/varibles.styl';
@import '~styles/ellipsis.styl';
.icons{
      background: white;
    padding-top: 0.1rem;
}

.icons >>>.swiper-container {
   
    height: 0;
    padding-bottom: 50%;
}

.icon {
    position: relative;
    overflow: hidden;
    float: left;
    width: 25%;
    height: 0;
    padding-bottom: 25%;
}

.icon-img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0.44rem;
    box-sizing: border-box;
    padding: 0.1rem;
}

.icon-img-conten {
    height: 100%;
    display: block;
    margin: 0 auto;
}

.icon-desc {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0.44rem;
    line-height: 0.44rem;
    box-sizing: border-box;
    text-align: center;
    color: $darkTextColor;
    ellipsis()
  
}
</style>
